package com.xb.cloud.shopping.service;

import com.xb.cloud.gateway.client.RtnInfo;
import com.xb.cloud.shopping.client.vo.ShoppingCartQueryVo;

/**
 * 
 * @ClassName: ShoppingCartService
 * @Description:终端用户购物车
 * @author: 鲜备科技
 * @date: 2018年1月10日 上午10:12:56
 * 
 * @Copyright: 2018 www.xianbeitech.com Inc. All rights reserved.
 *
 */
public interface ShoppingCartApiService {

	/**
	 * 获取用户购物车，商品列表
	 * 
	 * @Title getUserCartInfo
	 * @param userShoppingCartVo
	 * @return
	 */
	RtnInfo getUserCartInfo(ShoppingCartQueryVo userShoppingCartVo);

	/**
	 * 购物车添加商品
	 * 
	 * @Title addSku
	 * @param userShoppingCartVo
	 * @return
	 */
	RtnInfo addSkuToCart(ShoppingCartQueryVo userShoppingCartVo);

	/**
	 * 更新购物车商品数量
	 * 
	 * @Title updateItemNum
	 * @param userShoppingCartVo
	 * @return
	 */
	RtnInfo updateItemNum(ShoppingCartQueryVo userShoppingCartVo);

	/**
	 * 获取购物车商品数量，用于显示购物车商品总数量
	 * 
	 * @Title getCartNum
	 * @param userShoppingCartVo
	 * @return
	 */
	RtnInfo getCartNum(ShoppingCartQueryVo userShoppingCartVo);

	/**
	 * 根据skuId列表删除用户购物车里的商品
	 * 
	 * @Title deleteSkus
	 * @param userShoppingCartVo
	 * @param skuIds
	 * @return
	 */
	RtnInfo deleteSkus(ShoppingCartQueryVo userShoppingCartVo, String skuIds);
	
	
	RtnInfo checkSkuAndStock(Long skuId, int num);

}
